Communication System and Method Between an On-Vehicle Voice Recognition System and an Off-Vehicle Voice Recognition System

ABSTRACT

A vehicle based system and method for receiving voice inputs and determining whether to perform a voice recognition analysis using in-vehicle resources or resources external to the vehicle.

RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.13/805,921, filed on Dec. 20, 2012, which is a National Phase Entry ofInternational Application No. PCT/US2011/041729, filed on Jun. 24, 2011,which claims the benefit of U.S. Provisional application 61/358,407filed on Jun. 24, 2010, all of which applications are incorporatedherein by reference.

FIELD OF THE INVENTION

The embodiment relates to the field of vehicle communication systems andmethods.

BACKGROUND

Conventional vehicles employ audible, e.g., voice, commands to implementvarious vehicle features. A common problem is that due to limitedprocessing capabilities in the vehicle, in-vehicle voice recognitionsystems are not as robust as external voice-recognition systems and canlead to inaccurate recognition results. However, employing externalvoice-recognition systems can lead to longer response times. What isneeded is a system and method for voice recognition systems for avehicle that provides a robust voice-recognition system while accountingfor time-sensitive and context sensitive voice recognition in vehicles.

SUMMARY

A computer based method in a vehicle comprising the steps of receiving afirst voice input, determining whether a voice recognition processshould be performed to the first voice input by a computer based voicerecognition system in the vehicle or using a voice recognition systemthat is external to the vehicle, performing the computer based voicerecognition in the vehicle to the first voice input in response to thedetermination that the voice recognition process should be performed inthe vehicle, and transmitting the first voice input to an externalsystem in response to the determination that the voice recognitionprocess should be performed external to the vehicle.

The features and advantages described in the specification are not allinclusive and, in particular, many additional features and advantageswill be apparent to one of ordinary skill in the art in view of thedrawings, specification, and claims. Moreover, it should be noted thatthe language used in the specification has been principally selected forreadability and instructional purposes, and may not have been selectedto delineate or circumscribe the inventive subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an environment in which embodiments can operate.

FIG. 2 is a more detailed illustration of the mobile communicationdevice in accordance with an embodiment.

FIG. 3 is a more detailed illustration of the in-vehicle system inaccordance with an embodiment.

FIG. 4 is a more detailed illustration of a server device in accordancewith an embodiment.

FIG. 5 is a flow chart illustrating the operation of a voice recognitionsystem in accordance with an embodiment.

FIG. 6 is a flow chart illustrating the operation of step 504 inaccordance with an embodiment.

FIG. 7 is a flow chart illustrating the operation of step 504 inaccordance with an embodiment.

FIG. 8 is an illustration of the system that responds to a userscommand/request for information in accordance with an embodiment.

DETAILED DESCRIPTION

Embodiments are now described with reference to the figures where likereference numbers indicate identical or functionally similar elements.Also in the figures, the left most digit of each reference numbercorresponds to the figure in which the reference number is first used.

Reference in the specification to “one embodiment” or to “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiments is included in at least oneembodiment. The appearances of the phrase “in one embodiment” or “anembodiment” in various places in the specification are not necessarilyall referring to the same embodiment.

Some portions of the detailed description that follows are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps (instructions)leading to a desired result. The steps are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical, magnetic or opticalsignals capable of being stored, transferred, combined, compared andotherwise manipulated. It is convenient at times, principally forreasons of common usage, to refer to these signals as bits, values,elements, symbols, characters, terms, numbers, or the like. Furthermore,it is also convenient at times, to refer to certain arrangements ofsteps requiring physical manipulations or transformation of physicalquantities or representations of physical quantities as modules or codedevices, without loss of generality.

However, all of these and similar terms are to be associated with theappropriate physical quantities and are merely convenient labels appliedto these quantities. Unless specifically stated otherwise as apparentfrom the following discussion, it is appreciated that throughout thedescription, discussions utilizing terms such as “processing” or“computing” or “calculating” or “determining” or “displaying” or“determining” or the like, refer to the action and processes of acomputer system, or similar electronic computing device (such as aspecific computing machine), that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem memories or registers or other such information storage,transmission or display devices.

Certain aspects of the present embodiments include process steps andinstructions described herein in the form of an algorithm. It should benoted that the process steps and instructions of the present embodimentscould be embodied in software, firmware or hardware, and when embodiedin software, could be downloaded to reside on and be operated fromdifferent platforms used by a variety of operating systems. Theembodiments can also be in a computer program product which can beexecuted on a computing system.

The present embodiments also relate to an apparatus for performing theoperations herein. This apparatus may be specially constructed for thepurposes, e.g., a specific computer, or it may comprise ageneral-purpose computer selectively activated or reconfigured by acomputer program stored in the computer. Such a computer program may bestored in a computer readable storage medium, such as, but is notlimited to, any type of disk including floppy disks, optical disks,CD-ROMs, magnetic-optical disks, read-only memories (ROMs), randomaccess memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards,application specific integrated circuits (ASICs), or any type of mediasuitable for storing electronic instructions, and each coupled to acomputer system bus. Memory can include any of the above and/or otherdevices that can store information/data/programs. Furthermore, thecomputers referred to in the specification may include a singleprocessor or may be architectures employing multiple processor designsfor increased computing capability.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may also be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the method steps. The structure for a variety ofthese systems will appear from the description below. In addition, thepresent embodiment is not described with reference to any particularprogramming language. It will be appreciated that a variety ofprogramming languages may be used to implement the teachings of thepresent embodiment as described herein, and any references below tospecific languages are provided for disclosure of enablement and bestmode of the present embodiment.

In addition, the language used in the specification has been principallyselected for readability and instructional purposes, and may not havebeen selected to delineate or circumscribe the inventive subject matter.Accordingly, the disclosure of the present embodiment is intended to beillustrative, but not limiting.

FIG. 1 illustrates an exemplary operating environment 100 for variousembodiments. Operating environment 100 may include an in-vehicle system102, an optional wireless mobile communication device 104, an optionalcommunication link 105 for communication between the in-vehicle system102 and the network 108, an optional short-range communication link 106for communication between the in-vehicle system 102 and wireless mobilecommunication device 104, an optional wireless networking communicationlink 107 between wireless mobile communication device 104 and a network108, and a processing device, such as a server 110 connected to network108. The communication links described herein can directly or indirectlyconnect two devices.

In-vehicle system 102 and wireless mobile communication device 104 maycommunicate with each other via a short-range communication link 106which uses short-range communication technology, such as, for example,Bluetooth® technology or other short-range communication technology, forexample, Universal Serial Bus (USB). In-vehicle system 102 and wirelessmobile communication device 104 may connect, or pair, with each othervia short-range communication link 106.

Examples of a mobile communication device (MCD) 102 include a cellularphone, personal device assistant (PDA), smart phone, laptop computer orother devices having a processor, communications capability and areeasily transportable, for example. In a common form, the MCD 104application could be part of a larger suite of vehicle features andinteractions. Examples of applications include applications availablefor the iPhone™ that is commercially available from Apple Computer,Cupertino, Calif. or applications for phones running the Android™operating system that is commercially available from Google, Inc.,Mountain View, Calif.

In alternate embodiments a mobile communication device 104 is notutilized and instead a communication device embedded in the vehicle isused, such as a vehicle embedded phone, a wireless network card or otherdevice (e.g., a Wi-Fi capable device). For ease of discussion thedescription herein describes the operation of the embodiments withrespect to an embodiment using a mobile communication device 104.However, this is not intended to limit the scope of the embodiments andit is envisioned that other embodiments operate using othercommunication systems between the in-vehicle system 102 and the network108, as described above.

In-vehicle system 102 may send information to wireless mobilecommunication device 104. Wireless mobile communication device 104 maysend information to in-vehicle system 102 via short-range communicationlink 106. Wireless mobile communication device 104 may store informationreceived from in-vehicle system 102, and/or may provide the informationto a remote processing device, such as, for example, server 110, vianetwork 108.

In some embodiments, in-vehicle system 102 may provide information tothe wireless mobile communication device 104. Wireless mobilecommunication device 104 may use that information to obtain additionalinformation from network 108 and/or server 110. The additionalinformation may also be obtained in response to providing informationwith respect to a prompt on wireless mobile communication device 104from in-vehicle system 102.

Network 108 may include a wireless communication network, for example, acellular telephony network, as well as one or more other networks, suchas, the Internet, a public-switched telephone network (PSTN), apacket-switching network, a frame-relay network, a fiber-optic network,and/or other types of networks.

FIG. 2 is a functional block diagram of an exemplary embodiment ofwireless mobile communication device 104. Wireless mobile communicationdevice 104 may include a processor 202, a memory 204, a short-rangecommunication module 206, a wireless networking communication module208, an input device 210, an output device 212 and a storage device 218.

Processor 202 may include one or more conventional processors thatinterpret and execute instructions stored in a tangible medium, such asmemory 204, or storage device 218 which can be a media card, flash RAM,or other tangible medium. As described herein, memory 204 may includerandom access memory (RAM) or another type of dynamic storage device,and read-only memory (ROM) or another type of static storage device, forstoring this information and instructions for execution by processor202. The RAM, or another type of dynamic storage device, may storeinstructions as well as temporary variables or other intermediateinformation used during execution of instructions by processor 202. TheROM, or another type of static storage device, may store staticinformation and instructions for processor 202.

Short-range communication module 206 may include a first transceiver fortransmitting and receiving information via a wireless short-rangecommunication technology such as, for example, Bluetooth® or othershort-range communication technology, for example, Universal Serial Bus(USB). Wireless networking communication module 208 may include a secondtransceiver for transmitting and receiving information via a wirelesscommunication network, including but not limited to a cellular telephonynetwork.

Input device 210 may include hard keys and/or soft keys, a microphone, atouch screen, and/or other input device. Output device 212 may include aspeaker and/or a display.

FIG. 3 is a functional block diagram of an exemplary embodiment ofin-vehicle system 102. In-vehicle system 102 may include processor 302,memory 304, short-range communication module 306, input device 310,output device 312, satellite communication module 316, storage device318, and voice recognition module 320.

Processor 302 may include one or more conventional processors thatinterpret and execute instructions stored in a tangible medium, such asmemory 304, a media card, flash RAM, or other tangible medium. Memory304 may include random access memory (RAM), or another type of dynamicstorage device, and/or read-only memory (ROM), or another type of staticstorage device, for storing information and instructions for executionby processor 302. RAM, or another type of dynamic storage device, maystore instructions as well as temporary variables or other intermediateinformation used during execution of instructions by processor 302. ROM,or another type of static storage device, may store static informationand instructions for processor 302, as described above

Short-range communication module 306 may include a transceiver fortransmitting and receiving information via a wireless short-rangecommunication technology such as, for example, Bluetooth® or othershort-range communication technology, for example, Universal Serial Bus(USB), Wi-Fi, etc.

Input device 310 may include hard keys and/or soft keys, a microphone, atouch screen, and/or other input device. Output device 312 may include aspeaker and/or a display.

In some embodiments, components of in-vehicle system 102 may include anavigation unit for guiding a user of the vehicle, including in-vehiclesystem 102, to a destination. That is, at least some components ofin-vehicle system 102 may function together as a navigation unit. Whenin-vehicle system 102 includes a navigation unit, in-vehicle system 102may include a satellite communication module 316 for communicating withglobal positioning satellites. The navigation unit may also include adatabase of points of interest (“POIs”). The database may containinformation about various places the user of the vehicle may want totravel to. The POIs may be arranged by category, such as, restaurants,shopping, emergency services, etc.

Voice recognition module 320 can include a separate processor, memoryand/or storage or can use one or more of the processor 302, memory 304and storage 318 in the vehicle. The voice recognition module 320 canstore voice profiles of one or more users to enable it to recognizecommands, requests and/or inquiries, for example, spoken by the one ormore users.

FIG. 4 is a functional block diagram of an exemplary embodiment ofserver 110. Server 110 may include a processor 402, a memory 404, astorage device 406, a networking communication module 408, an inputdevice 410 and output device 412, a storage device 418 and a voicerecognition module 420.

Processor 402 may include one or more conventional processors thatinterpret and execute instructions stored in a tangible medium, such asmemory 404, a media card, flash RAM, or other tangible medium. Asdescribed herein, memory 404 may include random access memory (RAM) oranother type of dynamic storage device, and read-only memory (ROM) oranother type of static storage device. The RAM, or another type ofdynamic storage device, may store instructions as well as temporaryvariables or other intermediate information used during execution ofinstructions by processor 402. The ROM, or another type of staticstorage device, may store static information and instructions forprocessor 402.

Voice recognition module 420 can include a separate processor, memoryand/or storage or can use one or more of the processor 402, memory 404and storage 414. The voice recognition module 420 can store voiceprofiles of one or more users to enable it to recognize commands,requests and/or inquiries, for example, spoken by the one or more users.

Networking communication module 408 may include a transceiver fortransmitting and receiving information via a wired or wirelesscommunication network, such as network 108 or other networks, e.g., awide area network, local area network, Internet etc.

FIG. 5 is a flow chart illustrating the operation of a voice recognitionsystem in accordance with an embodiment. A voice command (VC) isreceived 502 by the input device 310. An example is a user initiating avoice command by, for example, pressing a hard/soft key in the vehicleand then speaking a command, request, inquiry etc. For ease ofdiscussion, a command is used as the example and includes any of suchinputs. The voice command can be converted into and stored as a digitalrepresentation or stored as an analog representation. For ease ofdiscussion a digital representation will be discussed herein. Thevehicle determines whether the voice recognition should be done on-boardby the vehicle or whether the voice recognition should be done off-boardby an external voice recognition module 420, for example in server, 110,820. Examples of the on and off-board voice recognition systems 320, 420are ViaVoice that is commercially available from IBM Corporation, basedin Armonk, N.Y., Nuance voice recognition that is commercially availablefrom Nuance Communications, based in Burlington, Mass. and Voice Boxvoice recognition that is commercially available from VoiceBoxTechnologies based in Bellevue, Wash.

The processor 302 receives an input signal from the input device 310 andidentifies the context of the request. For example, the context can bebased upon the hard/soft key pressed (phone call hard/soft key or theglobal commands hard/soft key) and/or based upon the informationdisplayed in the output device 312 (e.g., navigation, audio, video). Thein-vehicle system 102 determines 504 whether the voice recognitionshould be done using the in-vehicle voice recognition module 320 or theexternal voice recognition module 420. FIGS. 6 and 7 are examples of howthis determination can be made.

FIG. 6 is a flow chart illustrating the operation of step 504 inaccordance with an embodiment. In this embodiment the determined contextmay be used to determine 604 whether the voice recognition (VR) shouldbe performed using the in-vehicle voice recognition module 320 or theexternal voice recognition module 420. For example, in vehicles wherevoice control is correlated with information on a display screen, if thedisplay screen shows the playing of an audio disc, e.g., a CD or DVD,then the in-vehicle system determines that the context of the voicecommand is related to the on-board audio system and therefore should beanalyzed on-board because the analysis will be quicker, more reliableand the accuracy is typically high.

If 604 the initial decision is to perform the voice recognition on-boardthen the voice command (VC) is input 606 into the in-vehicle voicerecognition module 320. The in-vehicle voice recognition module 320analyzes the voice command using voice recognition techniques. Manypossible voice recognition techniques can be used. One example of adetermining confidence scores is set forth in Jiang, Confidence measuresfor speech recognition: A survey. 2004 Speech Communication, andavailable at www.sciencedirect.com which is incorporated by referenceherein in its entirety.

If 608 the confidence score determined by the voice recognition module320 is greater than a first threshold (T1) then the process continueswith step 510 in which the results of the voice recognition analysis canbe stored 510 in the vehicle in a voice profile (and optionally alsosent to the server 110 for storing in a voice profile located off thevehicle) associated with the user or the driver of the vehicle.Thereafter, the command can be executed 534 or the information requestedcan be presented to the user.

If 608 the confidence score determined by the voice recognition module320 does not exceed the first threshold (T1), this indicates that theon-board voice recognition module did not produce a satisfactory resultand, in this embodiment, the voice command is transmitted to theexternal voice recognition module 420 which may have more processingpower and may therefore be able to determine the meaning of the voicecommand with a higher confidence score. The process then continues withstep 526, described below. Additional information may be sent along withthe voice command as described below with reference to step 720.

It should be understood that the first threshold (T1) could be one ofmany thresholds, where each individual threshold could have its ownoutcome. For example, the confidence score may be so low that the systemwould require the user to repeat the command without any other actionbeing performed.

FIG. 7 is a flow chart illustrating the operation of step 504 inaccordance with an embodiment. The steps shown in FIG. 7 are not allrequired and need not be done in the order shown. They can also becombined with the steps shown in FIG. 6. The in-vehicle system 102determines 504 whether the voice recognition should be done using thein-vehicle voice recognition module 320 or the external voicerecognition module 420. The in-vehicle system 102 receives the voicecommand (step 502). The in-vehicle system 102 determines acharacteristic of the command and/or voice, e.g., voice type, frequency,speed, prosody, intelligibility, tone, pitch, size, direction, volume,and/or duration. For example, is the command less than about fiveseconds, is the voice a female or male voice, or is the speaker speakingfast. In the embodiment shown in FIG. 7, size is used as the example andwill be described further below. These examples are merely exemplary andany duration or other factors can be used. If 702 the size of thecommand is too large, e.g., it exceeds a first size factor S1, then thein-vehicle system 102 continues with step 708. An example of a commandhaving a long duration is one where the user wants to request thesending of a long text message. If 702 the size is not too large thenthe in-vehicle system 102 uses the in-vehicle voice recognition module320 to determine the confidence score (CS). If 704 the confidence scoredoes not exceed a first threshold (T1) then the in-vehicle system 102continue with step 708.

If the confidence score exceeds the first threshold (T1) then thecommand/request is known with enough confidence to proceed. Thein-vehicle system then determines 706 whether the determinedcommand/request should be performed in the vehicle or outside thevehicle. For example, in some embodiments certain commands/requestsshould be interpreted in the vehicle, such as audio control commands,peripheral control commands, environmental commands (e.g., modificationof internal temperature, fan speed), static data, emergency relatedrequests (e.g., a request to call 911 or a request for information aboutthe nearest hospital), HandsFreeLink® (HFL) commands, and address entry.Examples of commands/requests that should be performed externallyincludes obtaining news or other dynamic data, sending an email or textmessage, purchasing tickets to an event, making reservations, searchingfor a point of interest, or obtaining weather information or real-timetraffic information.

If 706 the determined command/request is one that should be performed inthe vehicle then the process continues with step 510, described herein.

If 706 the command is not one that should be done on board, e.g.,getting real-time traffic information or details about the operatinghours of a restaurant, then the in-vehicle system 102 determines 708whether there are any connectivity issues related to any of thecommunication links 105, 106, 107, between the in-vehicle system 102 andthe server 110. If 708 there are communication problems such that datais not able to be accurately transmitted and received then thein-vehicle system 102 determines 710 whether the identified command canbe performed on-board the vehicle. If it can then the process continueswith step 510. If 710 the identified command cannot be done on-board orif the command is unknown then the in-vehicle system 102 communicates712 with the user to ask the user to repeat the voice command, if thecommand is unknown (e.g., as a result of being too large or having a lowconfidence factor). Alternatively an error message can be communicated712 indicating that connectivity issues prevent the command from beingperformed currently. In alternate embodiments, the in-vehicle system 102stores the voice command and transmits the request to the server 110when the connectivity problems no longer exist.

If 708 there are no connectivity issues the in-vehicle system transmitsthe voice command and can provide 720 additional user profile relatedinformation and/or vehicle information that can be used by the externalvoice recognition module 420. The types of information that can beincluded in the transmission 720 are described in greater detail below.The process then continues with step 526.

If the voice recognition is to be performed in the server based upon thedecision in step 504, then the external voice recognition module 420performs 526 a voice recognition analysis of the received command. Theexternal voice recognition module 420 in the server can be a morepowerful analysis engine/module as the processor 402 can be morepowerful, there can be more data available in memory 404 and storage 414and additional resources from other networks can be utilized. Inaddition, multiple user profiles associated with the vehicle can be usedto assist in accurately interpreting the user's command/request, asdescribed below. If 528 the confidence score determined by the externalvoice recognition module 420 exceeds a second threshold (T2, which maybe different than T1), then the results of the voice recognition can bestored 530 in the server 110 and the results can be transmitted 532 tothe vehicle where the results can also be stored 510 in the vehicle. Thevehicle can then execute 534 the identified command (or communicate therequested information). The results stored in the server and/or vehiclecan be used to provide feedback to the voice recognition modules 320,420 in order to improve future performance.

If, 528, the confidence score determined by the external voicerecognition module 420 does not exceed the second threshold (T2), thenthe user may be requested 540 to repeat the voice command and theprocess repeats beginning at step 502.

In another embodiment the voice command is sent to both the in-vehiclevoice recognition module 320 and the external voice recognition module420. The results are collected by the in-vehicle system 102 and theresult is communicated to the user. In the situation where the resultsof the voice recognition differ, then the value of the confidence scorefor each can be compared and the result having the higher confidencescore can be used. Alternatively, a default can be used where the resultof the external voice recognition module 320 is used as it is presumedto have more resources with which to analyze the voice command andtherefore is likely to be more accurate. In the situation where theresult from the in-vehicle voice recognition module 320 is communicatedto the user or the command is performed before the in-vehicle system 102receives the result from the external voice recognition module 320, thein-vehicle system can ignore the later result, communicate the laterresult to the user or the later command can be performed.

As described above, if 708 there are no connectivity issues thein-vehicle system transmits the voice command and can provide 720additional user profile related information and/or vehicle informationthat can be used by the external voice recognition module 420. When avoice command is sent to the external voice recognition module 420current embodiments provide additional information that can be used bythe external voice recognition module 420 to identify the speaker and tomore accurately recognize the voice command when compared to situationswhen this information is not available to the external voice recognitionmodule 420.

In an embodiment the external voice recognition module 420 may include auser profile for the vehicle. In alternate embodiments there may bemultiple user profiles associated with the vehicle where each userprofile assists the external voice recognition module 420 perform voicerecognition of the voice command. For example, a profile may includeinformation such as a user's accent, pronunciation, sentence structure,speech training data, information about the tendencies of a user, e.g.,one user of the vehicle may frequently go for coffee at one store, whileanother user typically goes to another.

In various embodiments the in-vehicle system 102 assists the externalvoice recognition module 420 by (a) providing information 720 that canbe used to assist in identifying the proper user profile and/or (b)providing additional information 720 about the vehicle model and statethat can be used to provide an acoustic model of the vehicle at the timeof the voice command to assist in increasing the accuracy of the voicerecognition. Information that can be provided 720 to assist the externalvoice recognition module 420 in identifying the proper user profileinclude: key fob identification (when a vehicle has multiple key fobs),cell phone identification number or phone number when paired to thevehicle, vehicle/navigation unit identification number, user informationsuch as facial features (using facial recognition) and/or weight thedriver applies to the seat when driving (can differentiate betweendrivers of different weights), vehicle location information from a GPSin the vehicle—the location can be used to assist in identifying habitsof drivers having profiles associated with the vehicle. For example,driver 1 works in Torrance, Calif. and driver 2 works in Anaheim,Calif., when the location of the vehicle is in/near Torrance theexternal voice recognition module 420 may be able to use the locationinformation to more accurately determine that driver 1 is the speakerand therefore the profile associated with driver 1 should be used whenperforming voice recognition. Examples of additional information thatcan be included are: the user's name if spoken or selected using ascreen, vehicle climate control data, speed data, time of day, brakingpatterns, any other vehicle-related/generated data, the distance betweenthe vehicle and the vehicle immediately in front or other vehicleinformation that may be helpful to the external voice recognition module420 in differentiating the tendencies of two drivers and therefore tomore accurately identify the particular user which will assist inrecognizing the voice command. This information is sent in addition tothe voice command and is therefore in addition to inherentcharacteristics of the voice command such as frequency of the voicecommand.

Additional information that may be used by the external voicerecognition module 420 relates to the acoustics of the vehicle. Theinformation provided 720 can include the model of the vehicle, thevehicle identification number/navigational identification number whichenables a predetermined acoustical model to be used based upon thevehicle when attempting to recognize the voice command. In addition, thespeed, yaw, vehicle location (is the road noisy), status of fans (high,low, off), number of passengers, window position, and/or any othervehicle-related/generated data can be used by the external voicerecognition module 420 to adjust the acoustical model to more accuratelyreflect the conditions present in the vehicle when the voice command wasmade. This information 720 can also be used by the in-vehicle voicerecognition module 320.

FIG. 8 is an illustration of the system that responds to a userscommand/request for information in accordance with an embodiment. Inthis embodiment the vehicle voice recognition/control system and methoddescribed above can be used to assist a user in obtaining requestedinformation or performing requested commands. FIG. 8 is an illustrationof a system in accordance with one embodiment. The system includes avehicle 802 that includes an on-board voice recognition (VR) system 804(similar to on-board voice recognition module 320). Examples of such aVR system are described above.

The vehicle 802 is optionally wirelessly coupled to a navigation server810 via a communications link. The navigation server 810 can optionallyinclude or be coupled, either directly or indirectly, to a trafficdatabase 812, a point of interest database 814 and/or a map database816.

The vehicle 802 and/or the navigational server 810 are coupled to avoice recognition server 820. The voice recognition server 820 can becoupled to other databases, the internet and/or toprograms/applications. In an embodiment a user can set preferences forthe applications 824, websites 822, databases 826 that the user wantsthe voice recognition server 820 to use. Examples include ESPN, Yelp,Flixster, Open Table, Google, CNN, Yahoo, etc. These preferences can beset in advance or can be set/modified using the voice recognition server820.

In an embodiment a user requests information or an action. For example,the user may request “Please make a reservation for four at seven p.m.at a good Japanese restaurant.” The verbal request along with additionalinformation 720 is transmitted from the vehicle 802 to the navigationalserver 810 and/or the voice recognition server 820. The additionalinformation 720 transmitted can include user information, vehicleinformation, speed, location, time of day, planned routing informationin addition to information sent in accordance with embodiments describedherein.

The voice recognition server 820 receives the voice information/commandand additional information and performs conventional voice recognition,such as that described above, to gather the information and/or performthe command requested. By sending location, speed, time of day and/orplanned routing information the vehicle enables the voice recognitionserver 820 or the vehicle 802 to account for the vehicle's changingposition and direction of travel.

For example, a user in a vehicle traveling southbound likely wouldprefer to identify a restaurant that is in the direction of travelinstead of one that would require backtracking In an embodiment, thispreference can be selected by the user. In an embodiment, the voicerecognition server 820 or vehicle can also determine an estimatedlocation at a particular time based on, for example, a selected routingpath. For example, in the above example, if the user has selected adestination and the vehicle has a routing path that then the vehicle canestimate the location of the vehicle near the time of the reservation,e.g., 7:00 pm, to assist the voice recognition server in determiningwhich restaurant to select. In another example, the voice recognitionserver 820 and/or the vehicle 802 can use the routing information andlocation information to select information, e.g., a restaurant that isnear the planned route.

After performing voice recognition on the user's verbal request, thevoice recognition system 820 identifies one or more sources ofinformation and connects to these sources. In an embodiment the voicerecognition system 820 uses the user preference information, describedabove. The voice recognition system can connect to Internet websites822, applications 824 and/or databases 826 to obtain the information. Inthe example set forth above, the voice recognition system could connectto the Yelp website (www.yelp.com) or a similar website, to obtaininformation related to the quality of a restaurant, operating hours andavailability of reservations as appropriate. The voice recognitionsystem 820, or the external website in this example, can connect tomultiple websites as appropriate in order to obtain theinformation/perform the command spoken by user in the vehicle 802. Forexample, in the above example, after identifying the appropriaterestaurant, the external voice recognition server 820 can connect to areservation website/service such as Open Table, www.opentable.com tomake dinner reservations.

After retrieving the requested information, the voice recognition server802 transmits the information back to the vehicle 802 and theinformation/command is provided to the user. The information can beprovided verbally using speakers in the vehicle 802, can be displayed tothe user on a screen in the vehicle, a text message can be sent, oranother communication method can be used. In providing the informationto the user, certain information can be highlighted, and/or grayed outto provide information about that choice. For example, if a userrequests information about good Japanese restaurants in the area, thevehicle could display multiple restaurants while highlighting those thatare currently open or graying out those that are currently closed.

While particular embodiments and applications have been illustrated anddescribed herein, it is to be understood that the embodiments are notlimited to the precise construction and components disclosed herein andthat various modifications, changes, and variations may be made in thearrangement, operation, and details of the methods and apparatuses ofthe present embodiments without departing from the spirit and scope ofthe embodiments.

1. A computer based method in a vehicle, comprising: receiving arepresentation of first voice input; performing a computer based voicerecognition in the vehicle to the first voice input representation forgenerating a first voice recognition result; determining a confidencevalue of the in-vehicle performed voice recognition process representinga likelihood that the first voice recognition result is correct;determining that the voice recognition process to the first voice inputrepresentation should be performed external to the vehicle if theconfidence value is lower than a first threshold; and transmitting thefirst voice input representation to an external system in response tothe determination that the voice recognition process should be performedexternal to the vehicle.
 2. The computer based method of claim 1,further comprising: determining a first context of the first voice inputrepresentation; and determining whether a voice recognition processshould be performed to the first voice input representation by acomputer based voice recognition system in the vehicle or using a voicerecognition system that is external to the vehicle, based upon the firstcontext.
 3. The computer based method of claim 2, wherein determiningthe first context uses at least one of a type of vehicle key pressed bya first user in the vehicle and/or information displayed on an outputdevice in the vehicle.
 4. The computer based method of claim 3, whereinthe information displayed on the output device is at least one of audioinformation, video information, and/or navigation information.
 5. Thecomputer based method of claim 1, further comprising: determining if awireless transmission connection between the vehicle and the externalsystem exceeds a minimum threshold when the determination is to use theexternal voice recognition system; and determining that the voicerecognition process should be performed using the voice recognitionsystem in the vehicle if the wireless transmission connection quality islower than the minimum threshold.
 6. The computer based method of claim1, wherein the first voice input representation voice inputrepresentation is received from a first user of the vehicle, the methodfurther comprising: transmitting profile information about at least oneof the first user and/or the vehicle to the external system.
 7. Thecomputer based method of claim 1, further comprising: determining afirst characteristic of the first voice input representation; anddetermining whether a voice recognition process should be performed tothe first voice input representation by a computer based voicerecognition system in the vehicle or using a voice recognition systemthat is external to the vehicle based upon the first characteristic. 8.The computer based method of claim 7, wherein the first characteristicis at least one of a voice type, frequency, speed, prosody,intelligibility, tone, pitch, size, direction, volume and/or duration.9. The computer based method of claim 7, further comprising: determiningif a wireless transmission connection between the vehicle and theexternal system exceeds a minimum threshold when the determination is touse the external voice recognition system; and determining that thevoice recognition process should be performed using the voicerecognition system in the vehicle to the representation of the firstvoice input representation if the wireless transmission connectionquality is lower than the minimum threshold.
 10. The computer basedmethod of claim 7, wherein the first voice input representation isreceived from a first user of the vehicle, the method furthercomprising: transmitting profile information about at least one of thefirst user and/or the vehicle to the external system.
 11. A system in avehicle, comprising: a microphone configured to receive a first voiceinput representation from a first user; a voice recognition locationunit configured to determine whether a voice recognition process shouldbe performed by a voice recognition system in the vehicle or external tothe vehicle, the voice recognition system performing a computer basedvoice recognition in the vehicle to the first voice input for generatinga first voice recognition result; a confidence value unit configured todetermine a confidence value of the in-vehicle performed voicerecognition process representing a likelihood that the first voicerecognition result is correct; and a communications unit configured totransmit the first voice input representation to an external system inresponse to a determination that the voice recognition process should beperformed external to the vehicle; wherein the determination isgenerated by the voice recognition location unit responsive to theconfidence value being lower than a first threshold.
 12. The system ofclaim 11, further comprising: a context unit configured to determine afirst context of the first voice input representation; wherein the voicerecognition location unit is configured to determine whether a voicerecognition process should be performed to the first voice inputrepresentation by the voice recognition system in the vehicle orexternal to the vehicle based upon the first context.
 13. The system ofclaim 11, wherein the communications unit is configured to determine ifa wireless transmission connection between the vehicle and the externalsystem exceeds a minimum threshold when the determination is to use theexternal voice recognition system; and wherein the voice recognitionlocation unit is configured to determine that the voice recognitionprocess to the first voice input representation should be performedusing the voice recognition system in the vehicle if the wirelesstransmission connection quality is lower than the minimum threshold. 14.The system of claim 11, wherein the communication system is configuredto transmit profile information about at least one of the first user andthe vehicle to the external system.
 15. At least one non-transitorycomputer-readable storage medium having computer-executableinstructions, the instructions when executed cause at least oneprocessor to perform: receiving a first voice input representation froma first user of the vehicle; performing computer based voice recognitionto the first voice input representation in the vehicle for generating afirst voice recognition result; determining a confidence value of thein-vehicle performed voice recognition process representing a likelihoodthat the first voice recognition result is correct; determining that thevoice recognition process to the first voice input representation shouldbe performed external to the vehicle if the confidence value is lowerthan a first threshold; and transmitting the first voice inputrepresentation to an external system in response to the determinationthat the voice recognition process should be performed external to thevehicle.
 16. The non-transitory computer-readable storage medium ofclaim 15, further comprising instructions for causing the computer toperform: determining a first context of the first voice inputrepresentation; and determining whether a voice recognition processshould be performed to the first voice input representation by acomputer based voice recognition system in the vehicle or external tothe vehicle based upon the first context.
 17. The non-transitorycomputer-readable storage medium of claim 15, further comprisinginstructions for causing the computer to perform: determining if awireless transmission connection between the vehicle and the externalsystem exceeds a minimum threshold when the determination is to use theexternal voice recognition system; and determining that the voicerecognition process should be performed using the voice recognitionsystem in the vehicle if the wireless transmission connection quality islower than the minimum threshold.
 18. The non-transitorycomputer-readable storage medium of claim 15, further comprisinginstructions for causing the computer to perform: transmitting profileinformation about at least one of the first user and the vehicle to theexternal system.